home *** CD-ROM | disk | FTP | other *** search
- import java.applet.Applet;
- import java.awt.BorderLayout;
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Container;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Rectangle;
- import java.io.DataInputStream;
- import java.io.FilterInputStream;
- import java.io.IOException;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.util.Date;
- import java.util.Vector;
-
- public class upsn extends Applet implements Runnable {
- public static final String AllowedHost = new String("www.kark.com");
- public static final String AllowedFile = new String("/host1207/TalTry/TalTry1/");
- public static final boolean CheckAllowedFile = true;
- public static final int NO_HEADLINE = 31;
- public static final Date EXPIRYDATE = new Date("Oct 9 1997");
- public static final int SHORTSIZE = 30;
- public static final String CYCLESPARAM = new String("CyclesTillRead");
- public static final String MESSAGEDELAYPARAM = new String("MessageDelay");
- public static final String FRAMEWIDTHPARAM = new String("FrameWidth");
- public static final String FRAMECOLORPARAM = new String("FrameColor");
- public static final String INPUTFILETYPEPARAM = new String("InputFileType");
- public static final String HGLOBALBGCOLORPARAM = new String("HGlobalBGColor");
- public static final String HGLOBALFGCOLORPARAM = new String("HGlobalFGColor");
- public static final String SGLOBALBGCOLORPARAM = new String("SGlobalBGColor");
- public static final String SGLOBALFGCOLORPARAM = new String("SGlobalFGColor");
- static Vector headlinevector = new Vector(31);
- static int CurrentHeadlineCounter;
- static String HeadlinesFile = new String("/../upsnin.mcm");
- public static URL CODEBASE;
- public static int CyclesTillRead;
- public static int MessageDelay;
- public static int FrameWidth;
- public static Color FrameColor;
- public static Color HGlobalBGColor;
- public static Color HGlobalFGColor;
- public static Color SGlobalBGColor;
- public static Color SGlobalFGColor;
- public static int FrameHighlight;
- public static int FrameHighlightMouse;
- public static String InputFileType;
- Thread engine;
-
- public void init() {
- System.out.println("This software is brought to you by SNG CHICAGO,\nhttp://www.mcmtech.com, support@sngchicago.com.\nWritten by Tal Katzir.\n");
-
- try {
- String var1 = ((Applet)this).getParameter(CYCLESPARAM);
- CyclesTillRead = Integer.parseInt(var1);
- } catch (NumberFormatException var10) {
- System.err.println("Not a valid number in 'cycles' : \n" + var10);
- }
-
- try {
- String var11 = ((Applet)this).getParameter(MESSAGEDELAYPARAM);
- MessageDelay = Integer.parseInt(var11);
- } catch (NumberFormatException var9) {
- MessageDelay = 5;
- System.err.println("Not a valid number in 'messagedelay' : \n" + var9);
- System.out.println("Choosed '5' for 'messagedelay'\n");
- }
-
- try {
- String var12 = ((Applet)this).getParameter(FRAMEWIDTHPARAM);
- FrameWidth = Integer.parseInt(var12);
- } catch (NumberFormatException var8) {
- FrameWidth = 3;
- System.err.println("Not a valid number in 'framewidth' : \n" + var8);
- System.out.println("Choosed '3' for 'framewidth'\n");
- }
-
- String var13 = ((Applet)this).getParameter(FRAMECOLORPARAM);
- if (var13 != null) {
- FrameColor = String2ColorMethod(var13);
- } else {
- FrameColor = Color.blue;
- System.err.println("Not a valid color in 'FrameColor'");
- System.out.println("Choosed 'blue' for 'FrameColor'\n");
- }
-
- String var2 = ((Applet)this).getParameter(HGLOBALBGCOLORPARAM);
- if (var2 != null) {
- HGlobalBGColor = String2ColorMethod(var2);
- } else {
- HGlobalBGColor = Color.red;
- System.err.println("Not a valid color in 'HGlobalBGColor'");
- System.out.println("Choosed 'red' for 'HGlobalBGColor'\n");
- }
-
- String var3 = ((Applet)this).getParameter(HGLOBALFGCOLORPARAM);
- if (var3 != null) {
- HGlobalFGColor = String2ColorMethod(var3);
- } else {
- HGlobalFGColor = Color.white;
- System.err.println("Not a valid color in 'HGlobalFGColor'");
- System.out.println("Choosed 'white' for 'HGlobalFGColor'\n");
- }
-
- String var4 = ((Applet)this).getParameter(SGLOBALBGCOLORPARAM);
- if (var4 != null) {
- SGlobalBGColor = String2ColorMethod(var4);
- } else {
- SGlobalBGColor = Color.white;
- System.err.println("Not a valid color in 'SGlobalBGColor'");
- System.out.println("Choosed 'white' for 'SGlobalBGColor'\n");
- }
-
- String var5 = ((Applet)this).getParameter(SGLOBALFGCOLORPARAM);
- if (var5 != null) {
- SGlobalFGColor = String2ColorMethod(var5);
- } else {
- SGlobalFGColor = Color.red;
- System.err.println("Not a valid color in 'SGlobalFGColor'");
- System.out.println("Choosed 'red' for 'SGlobalFGColor'\n");
- }
-
- String var6 = ((Applet)this).getParameter(INPUTFILETYPEPARAM);
- if (var6 != null) {
- var6 = var6.trim();
- var6 = var6.toLowerCase();
- if (var6.equalsIgnoreCase("txt")) {
- InputFileType = "txt";
- } else {
- InputFileType = "mcm";
- }
- } else {
- InputFileType = "mcm";
- }
-
- InputFileType = "txt";
- HeadlinesFile = "/../upsnin." + InputFileType;
- ((Container)this).setLayout(new BorderLayout());
- CODEBASE = ((Applet)this).getCodeBase();
-
- for(int var7 = 0; var7 < 31; ++var7) {
- headlinevector.addElement(new upsnitm("", "", ""));
- }
-
- headlinevector.setElementAt(new upsnitm("Please Wait", "Retrieving Headlines...", "http://www.sngchicago.com"), 0);
- headlinevector.setElementAt(new upsnitm("E", "END.", ""), 1);
- }
-
- public void run() {
- Thread var1 = Thread.currentThread();
- var1.setPriority(1);
- new upsnitm("First", "First line in Headline.", "");
- int var2 = 0;
-
- while(true) {
- if (var2 >= CyclesTillRead || var2 == 0) {
- headlinevector = ReadSimpleFromFile(CODEBASE + HeadlinesFile);
- var2 = 0;
- }
-
- ++var2;
- boolean var3 = true;
- int var4 = 0;
- String var5 = "";
-
- while(var3) {
- var5 = ((upsnitm)headlinevector.elementAt(var4)).message;
- if (var5.startsWith("END")) {
- var5 = "Hello World !";
- var3 = false;
- var4 = 0;
- }
-
- if (var3) {
- CurrentHeadlineCounter = var4;
- this.redraw();
- ++var4;
- Thread.currentThread();
- Thread.yield();
-
- try {
- Thread.currentThread();
- Thread.sleep((long)(MessageDelay * 1000));
- } catch (InterruptedException var6) {
- System.err.println("Exception in sleep !");
- }
- }
- }
-
- Thread.currentThread();
- Thread.yield();
- }
- }
-
- public void start() {
- if (this.engine == null) {
- this.engine = new Thread(this);
- this.engine.start();
- }
-
- }
-
- public void stop() {
- }
-
- public boolean handleEvent(Event var1) {
- if (var1.id == 201) {
- System.exit(0);
- }
-
- if (var1.id == 501) {
- try {
- ((Applet)this).getAppletContext().showDocument(new URL(((upsnitm)headlinevector.elementAt(CurrentHeadlineCounter)).url));
- } catch (MalformedURLException var3) {
- System.err.println("MalformedURLException: " + var3);
- } catch (IOException var4) {
- System.err.println("IOException: " + var4);
- }
- }
-
- if (var1.id == 504) {
- ((Applet)this).getAppletContext().showStatus(((upsnitm)headlinevector.elementAt(CurrentHeadlineCounter)).url);
- FrameHighlightMouse = 1;
- this.redraw();
- }
-
- if (var1.id == 503) {
- ((Applet)this).getAppletContext().showStatus(((upsnitm)headlinevector.elementAt(CurrentHeadlineCounter)).url);
- }
-
- if (var1.id == 505) {
- ((Applet)this).getAppletContext().showStatus("");
- FrameHighlightMouse = 0;
- this.redraw();
- }
-
- return false;
- }
-
- public void paint(Graphics var1) {
- int var2 = 0;
- int var3 = 0;
- int var4 = 0;
- int var5 = 0;
- int var6 = 0;
- int var7 = 0;
- int var8 = 0;
- Rectangle var9 = ((Component)this).bounds();
- Font var10 = var1.getFont();
- var1.setFont(new Font(var10.getName(), 0, var10.getSize() + 2));
- Font var11 = new Font(var10.getName(), 0, var9.height - FrameWidth * 2 - 4);
- Font var12 = new Font(var10.getName(), 1, var9.height - FrameWidth * 2 - 4);
- new String("");
- Double var14 = new Double(0.3 * (double)var9.width);
- var2 = var14.intValue() - FrameWidth;
- var5 = var2 - FrameWidth - 2;
- var3 = var2 / 8;
- String var13 = ((upsnitm)headlinevector.elementAt(CurrentHeadlineCounter)).name;
- FontMetrics var15 = var1.getFontMetrics(var12);
- FontMetrics var16 = var1.getFontMetrics(var11);
-
- for(var6 = var15.stringWidth(var13); var5 < var6; var6 = var15.stringWidth(var13)) {
- var13 = var13.substring(0, var13.length() - 1);
- }
-
- var3 = var13.length();
- var4 = var5 / 2 - var6 / 2 + FrameWidth + 1;
- var1.setColor(HGlobalBGColor);
- var1.fillRect(0, 0, var2, var9.height);
- var1.setColor(HGlobalFGColor);
- var1.setFont(var12);
- var1.drawString(var13, var4, var9.height - FrameWidth - var15.getDescent() - 1);
- var3 = (var9.width - var2) / 8;
- var13 = ((upsnitm)headlinevector.elementAt(CurrentHeadlineCounter)).message;
- var8 = var16.stringWidth(var13);
-
- for(var7 = var9.width - var2 - FrameWidth - 2; var7 < var8 && var7 > 0; var8 = var16.stringWidth(var13)) {
- var13 = var13.substring(0, var13.length() - 1);
- }
-
- var3 = var13.length();
- var4 = var2 + 1 + (var7 / 2 - var8 / 2);
- var1.setColor(SGlobalBGColor);
- var1.fillRect(var2, 0, var9.width - var2, var9.height);
- var1.setColor(SGlobalFGColor);
- var1.setFont(var11);
- var1.drawString(var13, var4, var9.height - FrameWidth - var16.getDescent());
- var1.setColor(FrameColor);
-
- for(int var17 = 0; var17 < FrameWidth; ++var17) {
- var1.drawRect(var17, var17, var9.width - 2 * var17 - 1, var9.height - 2 * var17 - 1);
- }
-
- if (FrameHighlightMouse == 1 && FrameHighlight == 1) {
- var1.setColor(Color.white);
- var1.drawRect(0, 0, var9.width - 1, var9.height - 1);
- }
-
- if (FrameHighlightMouse == 1) {
- ((Applet)this).getAppletContext().showStatus(((upsnitm)headlinevector.elementAt(CurrentHeadlineCounter)).url);
- }
-
- }
-
- public void redraw(int var1) {
- ((Component)this).repaint();
- }
-
- public void redraw() {
- ((Component)this).repaint();
- }
-
- public void update(Graphics var1) {
- this.paint(var1);
- }
-
- public static Vector ReadSimpleFromFile(String var0) {
- new String("");
- String var2 = new String("");
- boolean var3 = true;
- boolean var4 = true;
- int var5 = 0;
- if (InputFileType == "mcm") {
- String var6 = "";
- String var7 = "";
- String var8 = "";
-
- try {
- URL var9 = new URL(var0);
- DataInputStream var10 = new DataInputStream(var9.openStream());
- int var11 = 0;
-
- for(upsnitm var12 = new upsnitm("", "", ""); var3; var8 = "") {
- String var1 = var10.readLine();
- var1 = var1.trim();
- var5 = var1.length();
- int var13 = 0;
-
- for(int var14 = 0; var13 < var5; ++var13) {
- if (var1.charAt(var13) == '|') {
- switch (var14) {
- case 0:
- var12.name = var2;
- var6 = var2;
- break;
- case 1:
- var12.message = var2;
- var7 = var2;
- break;
- case 2:
- var12.url = var2;
- var8 = var2;
- }
-
- var2 = "";
- ++var14;
- } else {
- var2 = var2 + var1.substring(var13, var13 + 1);
- }
- }
-
- headlinevector.setElementAt(new upsnitm(var6, var7, var8), var11);
- if (var1.startsWith("E|END")) {
- var3 = false;
- }
-
- var12.name = "";
- var12.message = "";
- ++var11;
- var6 = "";
- var7 = "";
- }
-
- ((FilterInputStream)var10).close();
- } catch (MalformedURLException var17) {
- System.err.println("MalformedURLException: " + var17);
- } catch (IOException var18) {
- System.err.println("IOException: " + var18);
- }
- }
-
- if (InputFileType == "txt") {
- String var24 = "";
- String var25 = "";
- String var26 = "";
-
- try {
- URL var27 = new URL(var0);
- DataInputStream var28 = new DataInputStream(var27.openStream());
- int var29 = 0;
- upsnitm var30 = new upsnitm("", "", "");
-
- while(var3) {
- String var20 = var28.readLine();
- var20 = var20.trim();
- var5 = var20.length();
- if (var20.startsWith("Header=")) {
- var24 = var20.substring(7);
- }
-
- if (var20.startsWith("SubHeader=")) {
- var25 = var20.substring(10);
- }
-
- if (var20.startsWith("URL=")) {
- var26 = var20.substring(4);
- }
-
- if (var20.startsWith("EndHeadline")) {
- var4 = false;
- ++var29;
- }
-
- if (var20.startsWith("Endmcm")) {
- var3 = false;
- var4 = false;
- var24 = "E";
- var25 = "END";
- var26 = "http://www.sngchicago.com";
- ++var29;
- }
-
- if (!var4) {
- headlinevector.setElementAt(new upsnitm(var24, var25, var26), var29 - 1);
- var4 = true;
- var30.name = "";
- var30.message = "";
- var24 = "";
- var25 = "";
- var26 = "";
- }
- }
-
- ((FilterInputStream)var28).close();
- } catch (MalformedURLException var15) {
- System.err.println("MalformedURLException: " + var15);
- } catch (IOException var16) {
- System.err.println("IOException: " + var16);
- }
- }
-
- return headlinevector;
- }
-
- public static Color String2ColorMethod(String var0) {
- if (var0 != null) {
- String var1 = var0.trim();
- var1 = var1.toLowerCase();
- if (var1.equals("red")) {
- return Color.red;
- }
-
- if (var1.equals("green")) {
- return Color.green;
- }
-
- if (var1.equals("black")) {
- return Color.black;
- }
-
- if (var1.equals("lightGray")) {
- return Color.lightGray;
- }
-
- if (var1.equals("blue")) {
- return Color.blue;
- }
-
- if (var1.equals("pink")) {
- return Color.pink;
- }
-
- if (var1.equals("orange")) {
- return Color.orange;
- }
-
- if (var1.equals("magenta")) {
- return Color.magenta;
- }
-
- if (var1.equals("cyan")) {
- return Color.cyan;
- }
-
- if (var1.equals("white")) {
- return Color.white;
- }
-
- if (var1.equals("yellow")) {
- return Color.yellow;
- }
-
- if (var1.equals("gray")) {
- return Color.gray;
- }
-
- if (var1.equals("darkGray")) {
- return Color.darkGray;
- }
- }
-
- return Color.white;
- }
- }
-